Touch systems are well known in the art and typically include a touch screen having a touch surface on which contacts are made using a pointer in order to generate user input. Pointer contacts with the touch surface are detected and are used to generate corresponding output depending on areas of the contact surface where the contacts are made. There are basically two general types of touch systems available and they can be broadly classified as “active” touch systems and “passive” touch systems.
Active touch systems allow a user to generate user input by contacting the touch surface with a special pointer that usually requires some form of on-board power source, typically batteries. The special pointer emits signals such as infrared light, visible light, ultrasonic frequencies, electromagnetic frequencies, etc. that activate the touch surface.
Passive touch systems allow a user to generate user input by contacting the touch surface with a passive pointer and do not require the use of a special pointer in order to activate the touch surface. The pointer can be a finger, a cylinder of some material, or any suitable object that can be used to contact some predetermined area of interest on the touch surface.
Passive touch systems provide advantages over active touch systems in that any suitable pointing device, including a user's finger, can be used as a pointer to contact the touch surface. As a result, user input can easily be generated. Also, since special active pointers are not necessary in passive touch systems, battery power levels and/or pointer damage, theft, or misplacement are of no concern to users.
For example, U.S. patent application Ser. No. 09/610,481 filed on Jul. 5, 2000 and International PCT Application No. PCT/CA01/00980 filed on Jul. 5, 2001 and published under No. WO 02/03316 on Jan. 10, 2002, assigned to SMART Technologies Inc., assignee of the present invention, disclose a camera-based touch system comprising a touch screen that includes a passive touch surface on which a computer-generated image is presented. A rectangular bezel or frame surrounds the touch surface and supports digital cameras at its corners. The digital cameras have overlapping fields of view that encompass and look across the touch surface. The digital cameras acquire images looking across the touch surface from different locations and generate image data. Image data acquired by the digital cameras is processed by digital signal processors associated with the digital cameras to determine if a pointer exists in the captured image data. When it is determined that a pointer exists in the captured image data, the digital signal processors generate pointer information packets (PIPs) and convey the PIPs to a master controller. Each PIP includes a header portion, a data portion and a checksum. The data portion includes a pointer ID field that stores a pointer identifier to allow multiple pointers to be tracked. The data portion also includes a pointer location parameter that identifies a pointer x-position and a pointer tip parameter that identifies a pointer z-position. A contact state field stores a value indicating whether the pointer is in or out of contact with the touch surface allowing pointer hover to be detected.
Upon receipt of the PIPs, the master controller processes the PIPs using triangulation to determine the location of each pointer in the captured images relative to the touch surface in (x,y) coordinates. In this manner, as PIPs are generated in response to captured images, the position and movement of pointers over the touch surface can be tracked. The pointer location data generated by the master controller is conveyed to a computer executing one or more application programs. The computer uses the pointer location data to update the computer-generated image that is presented on the touch surface. Pointer contacts on and pointer movement over the touch surface can therefore be recorded as writing or drawing or used to control execution of application programs executed by the computer.
As will be appreciated, since digital cameras at the corners of the bezels are used to capture image data, the touch system is able to determine when multiple pointers contact and move across the touch surface. This of course provides for enhanced functionality as compared to analog resistive touch systems that are only able to track a single pointer. Although enhanced functionality is provided by the above-described camera-based touch system, to-date, this enhanced functionally has not been fully exploited. It is therefore an object of the present invention to provide a novel gesture recognition method and touch system incorporating the same.